package com.moss.cloud.base.biz.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.moss.cloud.base.api.model.from.BaseFrom;
import com.moss.cloud.base.api.model.from.SysDictFrom;
import com.moss.cloud.base.api.model.param.DictParam;
import com.moss.cloud.base.biz.model.SysDict;
import com.moss.cloud.common.core.model.vo.DictTreeVO;

import java.util.List;

/**
 * 字典管理业务接口
 *
 * @author 瑾年
 * @date 2023年11月21日
 */
public interface ISysDictService extends IService<SysDict> {

    /**
     * 字典树形结构数据查询
     *
     * @param dictParam
     * @return
     */
    IPage<DictTreeVO> dictTreeList(DictParam dictParam);

    /**
     * 新增字典
     *
     * @param sysDictFrom
     * @return
     */
    Boolean saveDict(SysDictFrom sysDictFrom);

    /**
     * 编辑字典
     *
     * @param sysDictFrom
     * @return
     */
    Boolean updateDict(SysDictFrom sysDictFrom);

    /**
     * 删除字典-物理删除
     *
     * @param baseFrom
     * @return
     */
    Boolean removeDict(BaseFrom baseFrom);

    /**
     * 加载字典数据
     *
     * @return
     */
    Boolean overload();

    /**
     * 查询分组下的字典数据
     *
     * @param dictParam
     * @return
     */
    List<SysDict> dictGroup(DictParam dictParam);

    /**
     * 查询字典KEY的数据
     *
     * @param dictParam
     * @return
     */
    SysDict dictKey(DictParam dictParam);
}
